﻿using Cysharp.Threading.Tasks;
using Hero;
using Services;
using UnityEngine;

namespace Factory
{
    public interface IGameFactory : IService
    {
        (HeroHealth Health, HeroReload Reload, HeroScore Score, HeroShoot Shoot) CreateHero(Vector3 at);
        GameObject CreateHud(HeroHealth health, HeroReload reload, HeroScore score, HeroShoot shoot);
        UniTask CreateGameField();
        GameObject CreateBullet(Vector3 at, Quaternion direction);
        GameObject CreateHudLife(Transform where);
        GameObject CreateHudAmmo(Transform where);
    }
}